export default {
  state: {
    name: "Mr.chen"
  },
  mutations: {
    updateName(state, payload) {
      state.name = payload
    }
  },
  actions: {
    // 此context非原context 可以理解为当前moduleA对象
    aUpdateName(context) {
      // context中可以访问到根的getters与state
      console.log(context)
      setTimeout(() => {
        context.commit('updateName', 'Mr.xiao')
      }, 1000)
    }
  },
  getters: {
    // 用法与store对象中使用一致
    fullname(state) {
      return state.name + " 返回"
    },

    // getters 当前getters对象
    fullname2(state, getters) {
      return getters.fullname + " 再次返回"
    },

    // rootState 原始store对象
    fullname3(state, getters, rootState) {
      return getters.fullname + rootState.counter
    }
  }
}